package com.zhongfl.crm.mapper;

import com.zhongfl.crm.model.LxUser;
import com.zhongfl.crm.request.LxUserRequest;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author 向日葵
 * @Date 2018/9/20
 */
public interface LxUserMapper {

    /**
     * 根据条件查询励销所有用户
     * @param lxUserRequest 查询条件
     * @return 用户列表
     */
    List<LxUser> selectUserList(LxUserRequest lxUserRequest);

    /**
     * 根据励销Id查询励销所有用户
     * @param lxId 查询条件
     * @return 用户列表
     */
    LxUser selectByLxId(@Param("lxId") Long lxId);

    /**
     * 更新所有励销状态-》 no
     */
    int updateAlltoNo();

    /**
     * 根据Id删除一条用户
     * @param lxId 励销Id
     */
    void deletedUserById(@Param("lxId") Long lxId);

    /**
     * 新增励销用户
     * @param resolveUser
     */
    void insertUser(LxUser resolveUser);

    /**
     * 根据主键更新用户信息
     * @param resolveUser
     */
    void updateById(LxUser resolveUser);

    /**
     * 根据部门Id查询励销所有用户
     * @param departmentId 查询条件
     * @return 用户列表
     */
    List<LxUser> selectByDepartmentId(@Param("departmentId") Long departmentId);

    /**
     * 查询全部用户
     * @return 用户对象数据集合
     */
    List<LxUser> selectAllUser();

    /**
     * 通过励销id用户姓名及部门id查询
     * @param lxId 励销id
     * @param name 用户姓名
     * @param departmentId 部门id
     * @return 用户信息
     */
    LxUser selectByLxIdAndNameAndDeptId(@Param("lxId") Long lxId, @Param("name") String name, @Param("departmentId") Long departmentId);

    LxUser selectByStaffCode(String staffCode);
}
